home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 4
/
Apprentice-Release4.iso
/
Languages
/
Mops 2.7
/
Quick Edit ƒ
/
Quick Edit 2.6 ReadMe
< prev
next >
Wrap
Text File
|
1995-06-19
|
15KB
|
363 lines
This information has been updated for version 2.6
**** WHAT THIS IS ****
Quick Edit (QE) is a programmer's source code editor intended for use
with Mops, Michael's Object Oriented Programming System, and System 7.
Typed Mops commands can be executed directly from an editor window, thus
avoiding copy-switch-paste.
Also included are a set of text files that comprise a Subject Sorted
Glossary for Mops definitions.
**** NEW FOR VERSION 2.6 ****
• We now have a word wrap feature. When activated, word wrap will occur as
expected, with a couple of unique characteristics. One important
difference in the way QE wraps text, compared to conventional word
processors, is that carriage returns are still maintained at the end of
each line. This is done in order to remain compatible with the programming
source code files as they are expected by most programming languages,
including of course Mops. Another advantage is that QE can remain very
fast while still providing a word wrap function. If you take a look at
other text processors that word wrap you will notice a considerable slowing
when wrap is turned on. QE does not slow down at all when redisplaying a
window.
Note that QE's word wrap does much more than simply insert a CR
automatically as you type. QE will look at the paragraph in which the
cursor resides and perform wrapping on the entire paragraph, and only that
paragraph, automatically as you type. So there is the second important
difference from the norm in QE's word wrap. Word wrapping will *only*
occur in the current paragraph ( a paragraph in QE is any text that is
delimited by blank lines). This means that you could turn on word wrap in
the middle of some source code with very long lines and your typed text
would be wrapped while not affecting the rest of the file. Be careful
though, because if you forget that wordwrap is activated and start typing
in some long source code lines, then those lines will get split up and a
simple undo is not available (although a Revert is a good way to recover
from this if necessary). WordWrap is activated through the WordWrap...
menu command under the Edit menu. A bold "W" is also placed at the lower
left of the window as a reminder. WordWrap only applies to files that you
specify. WordWrap activation and length is saved with each file.
• A couple of printing bugs are fixed. PageSetup... should no longer
crash. On some printers a few lines at the end of the page were not being
printed. This has been fixed.
**** WHAT YOU NEED TO USE QUICK EDIT ****
1) System 7.x
2) Mops (Michael's Object Oriented Programming System).
3) The provided Mops Glossary file.
Actually, 1) and 2) are not absolutely required as Quick Edit will function
quite well as a stand-alone text processor without System 7 or Mops. In that
case you don't need 3) either.
**** HOW TO USE QUICK EDIT ****
1) Launch both Mops and Quick Edit.
2) Now you should be able to execute typed Mops instructions from a QE
window as if you were typing into the Mops window. The major difference
being that what you type can be saved as a (QE) text file. Remember that
you must use the enter key, not the return key, to execute commands.
**** ACTIVE GLOSSARY ****
***IMPORTANT***
You must keep the file "Mops Glossary" in the same folder as Quick Edit.
While using QE it is possible to summon the glossary to look up a
definition in either of 2 ways. First, you may highlight a word in a
QE window and then invoke the Mops/Glossary menu command (or
command-Y). If found in the glossary, the word and its definition
will appear in a special window. A second way to use the glossary
is to just invoke the Mops/Glossary menu command and then begin
typing the word that you wish to look up. MacForth users will recognize
this as the Online Glossary feature from the Sibley Editor.
You may copy text from the Active Glossary.
For each definition in the Active Glossary we have the stack effect
immediately to the right of the name. Further to the right, on the same
line, we have the Subject Name and File Name (the name of the Mops file
that contains the source code for the word) in SubjectName/FileName format.
We have included a file, Stack Notation, to define the stack effect
notation used here.
For most subjects we have a Subject Glossary file in the folder Subject
Glossary. In these files you will find all related words grouped together
in a logical manner by function, rather than by ASCII order. I find
that printing all of the Subject Glossary files and placing them in a
hole-punch binder with index tabs is an excellent way to keep a quick
reference. You can also print the ASCII sorted glossary if you want,
it's just a text file, but it is really intended for active use with QE.
From the Active Glossary you can obtain the source file name, see
where the source file is located from the Mops File Index, and then
open the source file to see the actual definition. Note that one can
now easily open the source for already compiled code simply by
highliting a word in QE and invoking the Mops/Open Source menu command
(command-1), as long as Mops itself is also running.
You may delete and add to the glossary yourself, but only if you open
the file "Mops Glossary" as a normal edit file, not as it is opened
as the QE glossary window. Added definitions MUST be in ASCII order
and begin in the first column on a new line. Only definition names may
begin in the first column.
**** SUBJECT GLOSSARY ****
***IMPORTANT***
You must keep the folder "Subject Glossary" in the same folder as Quick Edit.
We have included a set of normal text files that comprise a "Subject Sorted
Glossary". The purpose of these files is to allow the programmer to quickly
review the available word set for a given category of words. This avoids
having to read the entire Glossary (which is ascii sorted) in order to find
out what is available.
You can directly open any of these files via menu access to the Subject
(sorted) Glossary. Under the Mops menu.
**** TIPS ****
Position both the Mops window and your current QE window so both are
visible.
Pressing enter will execute either just the selected range, or if there
is no selection the entire line will be executed. Multiple lines or an
entire file may be executed this way.
Pressing enter will normally advance the cursor to the end of the next
line. Hold down the option key to keep the cursor on the same line.
Change the file Mops.paths to include the directory that your QE files
are in and you will be able to use the QE menu commands Load… ,
Save&Load…, and Save&Reload….
**** ABOUT QUICK EDIT ****
Quick Edit is written in MacForth and is, for the large part, the
MacForth text editor, or Sibley Editor, with extensions to use Apple Events
for Mops communication. I also added my favorite tweaks to the editor. QE
behaves in a standard manner and so should be fairly easy to learn.
MacForth users will of course feel pretty much at home except for a few
exceptions that are explained later.
I wrote QE as a tool to make it easier for me to use Mops. If one
has a desire to explore Forth object oriented programming ( FOOP?
Forth++? ), then a look at Mops is a must. You will likely find that you
will soon stop exploring and begin writing useful code at a very high
level of productivity.
Doug Hoffman 28Mar92
4Jun92 v1.1
6Dec92 v1.2
2Mar93 v1.3
27Dec93 v2.4
27Mar94 v2.4.1
05Nov94 v2.5
Compuserve 72310,1743
565 Countryside Lane
Oakland, Michigan 48363-1401
**** DETAILS OF USING QUICK EDIT ****
Up to 20 files (windows) can be open at the same time. The open QE file
names will appear under the Windows menu and will be preceded by bullets
if the files have unsaved changes.
There are several useful text search shortcuts that bypass the Find...
dialog. Option-Doubleclick on a word to find the first occurrence. A
subsequent Command-G (Find Same) will then find the next occurrence.
Any time a search fails a simple beep will be issued and the cursor will
remain where it last was. Command-Doubleclick on a word to do a backwards
search (i.e. attempt to find the first prior occurrence). Option-
Command-Doubleclick on a word to find the next occurrence.
If the Text Search dialog is summoned (via Command-F or the menu) any
highlited text will automatically become the "Search for" parameter. If
no text was highlited then the prior "Search for" text will remain.
All searches begin at the current selection point and end at the end of
the file. If the Text Search dialog is used one can also search all
files in the same directory as the open file. Holding down the shift
key when either summoning the Text Search dialog or doing a Find Same
(Command-G) will cause the search to be initiated from the beginning of
the file.
Command-` (Enter Search$) will enter the highlited text as the search
string without summoning the Text Search dialog. This is useful for
"loading" some text to search for in one window and then moving to another
window to do the search. A Command-Shift-G will start the search
at the beginning of the file. This can be handy. Command-Shift-F will
also start the search at the beginning of the file, but will summon the
Text Search dialog.
A Popup menu is available that will list all classes and their methods
for the current window. A ctrl-click in a QE window that contains Mops source
code will yield the menu. The menu slection will cause a jump to the
source code for the class or method.
Up to 10 bookmarks can be set by pressing Command-Shift-J followed
by a number (0 through 9). One then jumps to these bookmarks by pressing
Command-J followed by pressing the corresponding single digit number key.
Modifier keys for cursor movement works as follows:
Option left/right move cursor one word
Option up/down move one line
Command left/right move to beginning or end of line
Command up/down move to beginning or end of screen or prev/next screen
Command-Option up/down move to beginning or end of file
Option-Delete delete previous word
Command-Backspace delete to beginning of file
Command-Delete delete to end of file
MiniPrint... is intended for use only with high resolution printers having
scalable fonts such as LaserWriters or the StyleWriter. MiniPrinting
will print in a very small Helvetica font and allow for a paper savings
of 3-4 to 1 in most cases. I find this useful for printing drafts
and reducing the quantity of paper used.
If the printed page seems wrong, try using the Page Setup... command and
select portrait orientation at 100% scale.
Note that cutting and pasting will normally delete and add extra spaces as
necessary in a fashion similar to WriteNow. This feature is only activated
after text is highlited via a doubleclick and is then cut or copied. Text
that is highlited via shift-extension or singleclick-drag will be cut and
pasted in the normal fashion.
Also note that indents via tabs or spaces will be repeated on subsequent lines
upon return unless the option key is pressed. Auto-Indent is toggled
from the menu.
In most word processors characters such as a period (.) are treated as a word
delimiter. So doubleclicking something like " this.word " in most word
processors will only highlite this or word, depending upon where you first
clicked. Also, in most word processors a whole word search on " this " will
hit on " this.word " and other compounds of " .this. " which is not what I
want. Since Forth does not treat a period as a delimiter, I have chosen to
have Quick Edit do likewise. This behavior may be different from what you
are used to.
The Mops menu contains a few handy Mops commands that will clear the stack
or forget the hilited word.
A multiple line indent/unindent command is also available in the Special
menu.
Quick Edit has a word wrap feature, but a highlited selection can also be
wrapped to fit in the current window by using the Edit menu Margin command
(first select the text to be wrapped to fit the window).
**** FONTS/PRINTING ****
The window and printer font IDs and font sizes are now resources and so
can be changed to suit. You must use a resource editor. I know this isn't
very Mac-like, but it was easy to implement (and we're all programmers
here, right?).
The QEF1 resources affect things as follows:
RESOURCE ID AFFECTS DEFAULT VALUE
1 window font ID $00C8 Modified Monaco (MUST be mono-spaced)
2 window font size $0009
3 miniprint font ID $0015 Helvetica
4 miniprint font size $0007
7 option mini font ID $0016 Courier
8 option mini font size $0007
Note that the window font MUST be mono-spaced. But this is not a requirement
for the miniprint fonts. In fact, the Helvetica default miniprint font, which
is proportionally spaced, is used to allow two columns per page due to the
relatively high character linear density.
We use a proper programmer's screen font that clearly distinguishes
characters that are ambiguous with the Monaco font.
When selecting a file to miniprint from the standard file dialog, pressing
the option key will yield a one-column monospace (Courier) page. This
may be desirable for printing that needs accurate alignment. You only
need press the option key momentarily at the instant of file selection.
All miniprinting will yield approximately 104 lines per column (standard
81/2 x 11 inch paper) on most printers. Note that the page numbers shown
in the box upon mouse hits on the vertical thumb scroll control don't
necessarily correspond to the number of printed pages because printing will
always wrap long lines.
**** OTHER FEATURES ****
• Mops/Edit File (command-=) menu command. Hilite the name of a file and then invoke
this menu command. The file will be opened. Also works for module filenames
without having to first append ".txt".
• There is now an "AllWindows->Right" Windows menu command. Useful for getting all
open editor windows off to one side so the Mops window can be viewed while still
in Quick Edit.
**** PACKING LIST ****
The following is a list of all files that should be present in the
Quick Edit release set:
Quick Edit ReadMe
Mops Glossary
Quick Edit 2.5 (the application)
Stack Notation
Subject Glossary (a folder)
Arithmetic
Compiler
Console
Control Structures
Events
Floating Point
Memory
OOP
QuickDraw
Stack
Strings
System
Toolbox